<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="classroom_v1.html">Google Classroom API</a> . <a href="classroom_v1.courses.html">courses</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="classroom_v1.courses.aliases.html">aliases()</a></code>
</p>
<p class="firstline">Returns the aliases Resource.</p>

<p class="toc_element">
  <code><a href="classroom_v1.courses.announcements.html">announcements()</a></code>
</p>
<p class="firstline">Returns the announcements Resource.</p>

<p class="toc_element">
  <code><a href="classroom_v1.courses.courseWork.html">courseWork()</a></code>
</p>
<p class="firstline">Returns the courseWork Resource.</p>

<p class="toc_element">
  <code><a href="classroom_v1.courses.courseWorkMaterials.html">courseWorkMaterials()</a></code>
</p>
<p class="firstline">Returns the courseWorkMaterials Resource.</p>

<p class="toc_element">
  <code><a href="classroom_v1.courses.posts.html">posts()</a></code>
</p>
<p class="firstline">Returns the posts Resource.</p>

<p class="toc_element">
  <code><a href="classroom_v1.courses.students.html">students()</a></code>
</p>
<p class="firstline">Returns the students Resource.</p>

<p class="toc_element">
  <code><a href="classroom_v1.courses.teachers.html">teachers()</a></code>
</p>
<p class="firstline">Returns the teachers Resource.</p>

<p class="toc_element">
  <code><a href="classroom_v1.courses.topics.html">topics()</a></code>
</p>
<p class="firstline">Returns the topics Resource.</p>

<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#create">create(body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Creates a course. The user specified in `ownerId` is the owner of the created course and added as a teacher. A non-admin requesting user can only create a course with themselves as the owner. Domain admins can create courses owned by any user within their domain. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create courses or for access errors. * `NOT_FOUND` if the primary teacher is not a valid user. * `FAILED_PRECONDITION` if the course owner's account is disabled or for the following request errors: * UserCannotOwnCourse * UserGroupsMembershipLimitReached * CourseTitleCannotContainUrl * `ALREADY_EXISTS` if an alias was specified in the `id` and already exists.</p>
<p class="toc_element">
  <code><a href="#delete">delete(id, x__xgafv=None)</a></code></p>
<p class="firstline">Deletes a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID.</p>
<p class="toc_element">
  <code><a href="#get">get(id, x__xgafv=None)</a></code></p>
<p class="firstline">Returns a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID.</p>
<p class="toc_element">
  <code><a href="#getGradingPeriodSettings">getGradingPeriodSettings(courseId, x__xgafv=None)</a></code></p>
<p class="firstline">Returns the grading period settings in a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user isn't permitted to access the grading period settings in the requested course or for access errors. * `NOT_FOUND` if the requested course does not exist.</p>
<p class="toc_element">
  <code><a href="#list">list(courseStates=None, pageSize=None, pageToken=None, studentId=None, teacherId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Returns a list of courses that the requesting user is permitted to view, restricted to those that match the request. Returned courses are ordered by creation time, with the most recently created coming first. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the query argument is malformed. * `NOT_FOUND` if any users specified in the query arguments do not exist.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#patch">patch(id, body=None, updateMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates one or more fields in a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID. * `INVALID_ARGUMENT` if invalid fields are specified in the update mask or if no update mask is supplied. * `FAILED_PRECONDITION` for the following request errors: * CourseNotModifiable * InactiveCourseOwner * IneligibleOwner * CourseTitleCannotContainUrl</p>
<p class="toc_element">
  <code><a href="#update">update(id, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID. * `FAILED_PRECONDITION` for the following request errors: * CourseNotModifiable * CourseTitleCannotContainUrl</p>
<p class="toc_element">
  <code><a href="#updateGradingPeriodSettings">updateGradingPeriodSettings(courseId, body=None, updateMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates grading period settings of a course. Individual grading periods can be added, removed, or modified using this method. The requesting user and course owner must be eligible to modify Grading Periods. For details, see [licensing requirements](https://developers.google.com/workspace/classroom/grading-periods/manage-grading-periods#licensing_requirements). This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify the grading period settings in a course or for access errors: * UserIneligibleToUpdateGradingPeriodSettings * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="create">create(body=None, x__xgafv=None)</code>
  <pre>Creates a course. The user specified in `ownerId` is the owner of the created course and added as a teacher. A non-admin requesting user can only create a course with themselves as the owner. Domain admins can create courses owned by any user within their domain. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create courses or for access errors. * `NOT_FOUND` if the primary teacher is not a valid user. * `FAILED_PRECONDITION` if the course owner&#x27;s account is disabled or for the following request errors: * UserCannotOwnCourse * UserGroupsMembershipLimitReached * CourseTitleCannotContainUrl * `ALREADY_EXISTS` if an alias was specified in the `id` and already exists.

Args:
  body: object, The request body.
    The object takes the form of:

{ # A Course in Classroom.
  &quot;alternateLink&quot;: &quot;A String&quot;, # Absolute link to this course in the Classroom web UI. Read-only.
  &quot;calendarId&quot;: &quot;A String&quot;, # The Calendar ID for a calendar that all course members can see, to which Classroom adds events for course work and announcements in the course. The Calendar for a course is created asynchronously when the course is set to `CourseState.ACTIVE` for the first time (at creation time or when it is updated to `ACTIVE` through the UI or the API). The Calendar ID will not be populated until the creation process is completed. Read-only.
  &quot;courseGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;courseMaterialSets&quot;: [ # Sets of materials that appear on the &quot;about&quot; page of this course. Read-only.
    { # A set of materials that appears on the &quot;About&quot; page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole.
      &quot;materials&quot;: [ # Materials attached to this set.
        { # A material attached to a course as part of a material set.
          &quot;driveFile&quot;: { # Representation of a Google Drive file. # Google Drive file attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive item. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Drive item. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Drive item. Read-only.
          },
          &quot;form&quot;: { # Google Forms item. # Google Forms attachment.
            &quot;formUrl&quot;: &quot;A String&quot;, # URL of the form.
            &quot;responseUrl&quot;: &quot;A String&quot;, # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Form. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Form. Read-only.
          },
          &quot;link&quot;: { # URL item. # Link atatchment.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the target URL. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the target of the URL. Read-only.
            &quot;url&quot;: &quot;A String&quot;, # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
          },
          &quot;youTubeVideo&quot;: { # YouTube video item. # Youtube video attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to view the YouTube video. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # YouTube API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the YouTube video. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the YouTube video. Read-only.
          },
        },
      ],
      &quot;title&quot;: &quot;A String&quot;, # Title for this set.
    },
  ],
  &quot;courseState&quot;: &quot;A String&quot;, # State of the course. If unspecified, the default state is `PROVISIONED`.
  &quot;creationTime&quot;: &quot;A String&quot;, # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;description&quot;: &quot;A String&quot;, # Optional description. For example, &quot;We&#x27;ll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!&quot; If set, this field must be a valid UTF-8 string and no longer than 30,000 characters.
  &quot;descriptionHeading&quot;: &quot;A String&quot;, # Optional heading for the description. For example, &quot;Welcome to 10th Grade Biology.&quot; If set, this field must be a valid UTF-8 string and no longer than 3600 characters.
  &quot;enrollmentCode&quot;: &quot;A String&quot;, # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;gradebookSettings&quot;: { # The gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details. # The gradebook settings that specify how a student&#x27;s overall grade for the course will be calculated and who it will be displayed to. Read-only.
    &quot;calculationType&quot;: &quot;A String&quot;, # Indicates how the overall grade is calculated.
    &quot;displaySetting&quot;: &quot;A String&quot;, # Indicates who can see the overall grade..
    &quot;gradeCategories&quot;: [ # Grade categories that are available for coursework in the course.
      { # Details for a grade category in a course. Coursework may have zero or one grade category, and the category may be used in computing the overall grade. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.
        &quot;defaultGradeDenominator&quot;: 42, # Default value of denominator. Only applicable when grade calculation type is TOTAL_POINTS.
        &quot;id&quot;: &quot;A String&quot;, # ID of the grade category.
        &quot;name&quot;: &quot;A String&quot;, # Name of the grade category.
        &quot;weight&quot;: 42, # The weight of the category average as part of overall average. A weight of 12.34% is represented as 123400 (100% is 1,000,000). The last two digits should always be zero since we use two decimal precision. Only applicable when grade calculation type is WEIGHTED_CATEGORIES.
      },
    ],
  },
  &quot;guardiansEnabled&quot;: True or False, # Whether or not guardian notifications are enabled for this course. Read-only.
  &quot;id&quot;: &quot;A String&quot;, # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error.
  &quot;name&quot;: &quot;A String&quot;, # Name of the course. For example, &quot;10th Grade Biology&quot;. The name is required. It must be between 1 and 750 characters and a valid UTF-8 string.
  &quot;ownerId&quot;: &quot;A String&quot;, # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `&quot;me&quot;`, indicating the requesting user This must be set in a create request. Admins can also specify this field in a patch course request to transfer ownership. In other contexts, it is read-only.
  &quot;room&quot;: &quot;A String&quot;, # Optional room location. For example, &quot;301&quot;. If set, this field must be a valid UTF-8 string and no longer than 650 characters.
  &quot;section&quot;: &quot;A String&quot;, # Section of the course. For example, &quot;Period 2&quot;. If set, this field must be a valid UTF-8 string and no longer than 2800 characters.
  &quot;teacherFolder&quot;: { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only.
    &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive folder. Read-only.
    &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
    &quot;title&quot;: &quot;A String&quot;, # Title of the Drive folder. Read-only.
  },
  &quot;teacherGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;updateTime&quot;: &quot;A String&quot;, # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A Course in Classroom.
  &quot;alternateLink&quot;: &quot;A String&quot;, # Absolute link to this course in the Classroom web UI. Read-only.
  &quot;calendarId&quot;: &quot;A String&quot;, # The Calendar ID for a calendar that all course members can see, to which Classroom adds events for course work and announcements in the course. The Calendar for a course is created asynchronously when the course is set to `CourseState.ACTIVE` for the first time (at creation time or when it is updated to `ACTIVE` through the UI or the API). The Calendar ID will not be populated until the creation process is completed. Read-only.
  &quot;courseGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;courseMaterialSets&quot;: [ # Sets of materials that appear on the &quot;about&quot; page of this course. Read-only.
    { # A set of materials that appears on the &quot;About&quot; page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole.
      &quot;materials&quot;: [ # Materials attached to this set.
        { # A material attached to a course as part of a material set.
          &quot;driveFile&quot;: { # Representation of a Google Drive file. # Google Drive file attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive item. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Drive item. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Drive item. Read-only.
          },
          &quot;form&quot;: { # Google Forms item. # Google Forms attachment.
            &quot;formUrl&quot;: &quot;A String&quot;, # URL of the form.
            &quot;responseUrl&quot;: &quot;A String&quot;, # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Form. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Form. Read-only.
          },
          &quot;link&quot;: { # URL item. # Link atatchment.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the target URL. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the target of the URL. Read-only.
            &quot;url&quot;: &quot;A String&quot;, # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
          },
          &quot;youTubeVideo&quot;: { # YouTube video item. # Youtube video attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to view the YouTube video. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # YouTube API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the YouTube video. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the YouTube video. Read-only.
          },
        },
      ],
      &quot;title&quot;: &quot;A String&quot;, # Title for this set.
    },
  ],
  &quot;courseState&quot;: &quot;A String&quot;, # State of the course. If unspecified, the default state is `PROVISIONED`.
  &quot;creationTime&quot;: &quot;A String&quot;, # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;description&quot;: &quot;A String&quot;, # Optional description. For example, &quot;We&#x27;ll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!&quot; If set, this field must be a valid UTF-8 string and no longer than 30,000 characters.
  &quot;descriptionHeading&quot;: &quot;A String&quot;, # Optional heading for the description. For example, &quot;Welcome to 10th Grade Biology.&quot; If set, this field must be a valid UTF-8 string and no longer than 3600 characters.
  &quot;enrollmentCode&quot;: &quot;A String&quot;, # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;gradebookSettings&quot;: { # The gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details. # The gradebook settings that specify how a student&#x27;s overall grade for the course will be calculated and who it will be displayed to. Read-only.
    &quot;calculationType&quot;: &quot;A String&quot;, # Indicates how the overall grade is calculated.
    &quot;displaySetting&quot;: &quot;A String&quot;, # Indicates who can see the overall grade..
    &quot;gradeCategories&quot;: [ # Grade categories that are available for coursework in the course.
      { # Details for a grade category in a course. Coursework may have zero or one grade category, and the category may be used in computing the overall grade. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.
        &quot;defaultGradeDenominator&quot;: 42, # Default value of denominator. Only applicable when grade calculation type is TOTAL_POINTS.
        &quot;id&quot;: &quot;A String&quot;, # ID of the grade category.
        &quot;name&quot;: &quot;A String&quot;, # Name of the grade category.
        &quot;weight&quot;: 42, # The weight of the category average as part of overall average. A weight of 12.34% is represented as 123400 (100% is 1,000,000). The last two digits should always be zero since we use two decimal precision. Only applicable when grade calculation type is WEIGHTED_CATEGORIES.
      },
    ],
  },
  &quot;guardiansEnabled&quot;: True or False, # Whether or not guardian notifications are enabled for this course. Read-only.
  &quot;id&quot;: &quot;A String&quot;, # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error.
  &quot;name&quot;: &quot;A String&quot;, # Name of the course. For example, &quot;10th Grade Biology&quot;. The name is required. It must be between 1 and 750 characters and a valid UTF-8 string.
  &quot;ownerId&quot;: &quot;A String&quot;, # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `&quot;me&quot;`, indicating the requesting user This must be set in a create request. Admins can also specify this field in a patch course request to transfer ownership. In other contexts, it is read-only.
  &quot;room&quot;: &quot;A String&quot;, # Optional room location. For example, &quot;301&quot;. If set, this field must be a valid UTF-8 string and no longer than 650 characters.
  &quot;section&quot;: &quot;A String&quot;, # Section of the course. For example, &quot;Period 2&quot;. If set, this field must be a valid UTF-8 string and no longer than 2800 characters.
  &quot;teacherFolder&quot;: { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only.
    &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive folder. Read-only.
    &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
    &quot;title&quot;: &quot;A String&quot;, # Title of the Drive folder. Read-only.
  },
  &quot;teacherGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;updateTime&quot;: &quot;A String&quot;, # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only.
}</pre>
</div>

<div class="method">
    <code class="details" id="delete">delete(id, x__xgafv=None)</code>
  <pre>Deletes a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID.

Args:
  id: string, Identifier of the course to delete. This identifier can be either the Classroom-assigned identifier or an alias. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}</pre>
</div>

<div class="method">
    <code class="details" id="get">get(id, x__xgafv=None)</code>
  <pre>Returns a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID.

Args:
  id: string, Identifier of the course to return. This identifier can be either the Classroom-assigned identifier or an alias. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A Course in Classroom.
  &quot;alternateLink&quot;: &quot;A String&quot;, # Absolute link to this course in the Classroom web UI. Read-only.
  &quot;calendarId&quot;: &quot;A String&quot;, # The Calendar ID for a calendar that all course members can see, to which Classroom adds events for course work and announcements in the course. The Calendar for a course is created asynchronously when the course is set to `CourseState.ACTIVE` for the first time (at creation time or when it is updated to `ACTIVE` through the UI or the API). The Calendar ID will not be populated until the creation process is completed. Read-only.
  &quot;courseGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;courseMaterialSets&quot;: [ # Sets of materials that appear on the &quot;about&quot; page of this course. Read-only.
    { # A set of materials that appears on the &quot;About&quot; page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole.
      &quot;materials&quot;: [ # Materials attached to this set.
        { # A material attached to a course as part of a material set.
          &quot;driveFile&quot;: { # Representation of a Google Drive file. # Google Drive file attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive item. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Drive item. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Drive item. Read-only.
          },
          &quot;form&quot;: { # Google Forms item. # Google Forms attachment.
            &quot;formUrl&quot;: &quot;A String&quot;, # URL of the form.
            &quot;responseUrl&quot;: &quot;A String&quot;, # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Form. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Form. Read-only.
          },
          &quot;link&quot;: { # URL item. # Link atatchment.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the target URL. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the target of the URL. Read-only.
            &quot;url&quot;: &quot;A String&quot;, # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
          },
          &quot;youTubeVideo&quot;: { # YouTube video item. # Youtube video attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to view the YouTube video. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # YouTube API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the YouTube video. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the YouTube video. Read-only.
          },
        },
      ],
      &quot;title&quot;: &quot;A String&quot;, # Title for this set.
    },
  ],
  &quot;courseState&quot;: &quot;A String&quot;, # State of the course. If unspecified, the default state is `PROVISIONED`.
  &quot;creationTime&quot;: &quot;A String&quot;, # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;description&quot;: &quot;A String&quot;, # Optional description. For example, &quot;We&#x27;ll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!&quot; If set, this field must be a valid UTF-8 string and no longer than 30,000 characters.
  &quot;descriptionHeading&quot;: &quot;A String&quot;, # Optional heading for the description. For example, &quot;Welcome to 10th Grade Biology.&quot; If set, this field must be a valid UTF-8 string and no longer than 3600 characters.
  &quot;enrollmentCode&quot;: &quot;A String&quot;, # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;gradebookSettings&quot;: { # The gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details. # The gradebook settings that specify how a student&#x27;s overall grade for the course will be calculated and who it will be displayed to. Read-only.
    &quot;calculationType&quot;: &quot;A String&quot;, # Indicates how the overall grade is calculated.
    &quot;displaySetting&quot;: &quot;A String&quot;, # Indicates who can see the overall grade..
    &quot;gradeCategories&quot;: [ # Grade categories that are available for coursework in the course.
      { # Details for a grade category in a course. Coursework may have zero or one grade category, and the category may be used in computing the overall grade. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.
        &quot;defaultGradeDenominator&quot;: 42, # Default value of denominator. Only applicable when grade calculation type is TOTAL_POINTS.
        &quot;id&quot;: &quot;A String&quot;, # ID of the grade category.
        &quot;name&quot;: &quot;A String&quot;, # Name of the grade category.
        &quot;weight&quot;: 42, # The weight of the category average as part of overall average. A weight of 12.34% is represented as 123400 (100% is 1,000,000). The last two digits should always be zero since we use two decimal precision. Only applicable when grade calculation type is WEIGHTED_CATEGORIES.
      },
    ],
  },
  &quot;guardiansEnabled&quot;: True or False, # Whether or not guardian notifications are enabled for this course. Read-only.
  &quot;id&quot;: &quot;A String&quot;, # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error.
  &quot;name&quot;: &quot;A String&quot;, # Name of the course. For example, &quot;10th Grade Biology&quot;. The name is required. It must be between 1 and 750 characters and a valid UTF-8 string.
  &quot;ownerId&quot;: &quot;A String&quot;, # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `&quot;me&quot;`, indicating the requesting user This must be set in a create request. Admins can also specify this field in a patch course request to transfer ownership. In other contexts, it is read-only.
  &quot;room&quot;: &quot;A String&quot;, # Optional room location. For example, &quot;301&quot;. If set, this field must be a valid UTF-8 string and no longer than 650 characters.
  &quot;section&quot;: &quot;A String&quot;, # Section of the course. For example, &quot;Period 2&quot;. If set, this field must be a valid UTF-8 string and no longer than 2800 characters.
  &quot;teacherFolder&quot;: { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only.
    &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive folder. Read-only.
    &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
    &quot;title&quot;: &quot;A String&quot;, # Title of the Drive folder. Read-only.
  },
  &quot;teacherGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;updateTime&quot;: &quot;A String&quot;, # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only.
}</pre>
</div>

<div class="method">
    <code class="details" id="getGradingPeriodSettings">getGradingPeriodSettings(courseId, x__xgafv=None)</code>
  <pre>Returns the grading period settings in a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user isn&#x27;t permitted to access the grading period settings in the requested course or for access errors. * `NOT_FOUND` if the requested course does not exist.

Args:
  courseId: string, Required. The identifier of the course. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Grading period settings that include all the individual grading periods in a course.
  &quot;applyToExistingCoursework&quot;: True or False, # Supports toggling the application of grading periods on existing stream items. Once set, this value is persisted meaning that it does not need to be set in every request to update `GradingPeriodSettings`. If not previously set, the default is False.
  &quot;gradingPeriods&quot;: [ # The list of grading periods in a specific course. Grading periods must not have overlapping date ranges and must be listed in chronological order. Each grading period must have a unique title within a course.
    { # An individual grading period. Grading periods must not have overlapping date ranges and must be listed in chronological order. For example, if the end_date of a grading period is 2024-01-25, then the start_date of the next grading period must be 2024-01-26 or later. Each grading period must have a unique title within a course.
      &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. End date, in UTC, of the grading period. Inclusive.
        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      },
      &quot;id&quot;: &quot;A String&quot;, # Output only. System generated grading period ID. Read-only.
      &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Start date, in UTC, of the grading period. Inclusive.
        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      },
      &quot;title&quot;: &quot;A String&quot;, # Required. Title of the grading period. For example, “Semester 1”.
    },
  ],
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list(courseStates=None, pageSize=None, pageToken=None, studentId=None, teacherId=None, x__xgafv=None)</code>
  <pre>Returns a list of courses that the requesting user is permitted to view, restricted to those that match the request. Returned courses are ordered by creation time, with the most recently created coming first. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the query argument is malformed. * `NOT_FOUND` if any users specified in the query arguments do not exist.

Args:
  courseStates: string, Restricts returned courses to those in one of the specified states The default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED. (repeated)
    Allowed values
      COURSE_STATE_UNSPECIFIED - No course state. No returned Course message will use this value.
      ACTIVE - The course is active.
      ARCHIVED - The course has been archived. You cannot modify it except to change it to a different state.
      PROVISIONED - The course has been created, but not yet activated. It is accessible by the primary teacher and domain administrators, who may modify it or change it to the `ACTIVE` or `DECLINED` states. A course may only be changed to `PROVISIONED` if it is in the `DECLINED` state.
      DECLINED - The course has been created, but declined. It is accessible by the course owner and domain administrators, though it will not be displayed in the web UI. You cannot modify the course except to change it to the `PROVISIONED` state. A course may only be changed to `DECLINED` if it is in the `PROVISIONED` state.
      SUSPENDED - The course has been suspended. You cannot modify the course, and only the user identified by the `owner_id` can view the course. A course may be placed in this state if it potentially violates the Terms of Service.
  pageSize: integer, Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
  pageToken: string, nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.
  studentId: string, Restricts returned courses to those having a student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `&quot;me&quot;`, indicating the requesting user
  teacherId: string, Restricts returned courses to those having a teacher with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `&quot;me&quot;`, indicating the requesting user
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response when listing courses.
  &quot;courses&quot;: [ # Courses that match the list request.
    { # A Course in Classroom.
      &quot;alternateLink&quot;: &quot;A String&quot;, # Absolute link to this course in the Classroom web UI. Read-only.
      &quot;calendarId&quot;: &quot;A String&quot;, # The Calendar ID for a calendar that all course members can see, to which Classroom adds events for course work and announcements in the course. The Calendar for a course is created asynchronously when the course is set to `CourseState.ACTIVE` for the first time (at creation time or when it is updated to `ACTIVE` through the UI or the API). The Calendar ID will not be populated until the creation process is completed. Read-only.
      &quot;courseGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only.
      &quot;courseMaterialSets&quot;: [ # Sets of materials that appear on the &quot;about&quot; page of this course. Read-only.
        { # A set of materials that appears on the &quot;About&quot; page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole.
          &quot;materials&quot;: [ # Materials attached to this set.
            { # A material attached to a course as part of a material set.
              &quot;driveFile&quot;: { # Representation of a Google Drive file. # Google Drive file attachment.
                &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive item. Read-only.
                &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
                &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Drive item. Read-only.
                &quot;title&quot;: &quot;A String&quot;, # Title of the Drive item. Read-only.
              },
              &quot;form&quot;: { # Google Forms item. # Google Forms attachment.
                &quot;formUrl&quot;: &quot;A String&quot;, # URL of the form.
                &quot;responseUrl&quot;: &quot;A String&quot;, # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
                &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Form. Read-only.
                &quot;title&quot;: &quot;A String&quot;, # Title of the Form. Read-only.
              },
              &quot;link&quot;: { # URL item. # Link atatchment.
                &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the target URL. Read-only.
                &quot;title&quot;: &quot;A String&quot;, # Title of the target of the URL. Read-only.
                &quot;url&quot;: &quot;A String&quot;, # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
              },
              &quot;youTubeVideo&quot;: { # YouTube video item. # Youtube video attachment.
                &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to view the YouTube video. Read-only.
                &quot;id&quot;: &quot;A String&quot;, # YouTube API resource ID.
                &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the YouTube video. Read-only.
                &quot;title&quot;: &quot;A String&quot;, # Title of the YouTube video. Read-only.
              },
            },
          ],
          &quot;title&quot;: &quot;A String&quot;, # Title for this set.
        },
      ],
      &quot;courseState&quot;: &quot;A String&quot;, # State of the course. If unspecified, the default state is `PROVISIONED`.
      &quot;creationTime&quot;: &quot;A String&quot;, # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only.
      &quot;description&quot;: &quot;A String&quot;, # Optional description. For example, &quot;We&#x27;ll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!&quot; If set, this field must be a valid UTF-8 string and no longer than 30,000 characters.
      &quot;descriptionHeading&quot;: &quot;A String&quot;, # Optional heading for the description. For example, &quot;Welcome to 10th Grade Biology.&quot; If set, this field must be a valid UTF-8 string and no longer than 3600 characters.
      &quot;enrollmentCode&quot;: &quot;A String&quot;, # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only.
      &quot;gradebookSettings&quot;: { # The gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details. # The gradebook settings that specify how a student&#x27;s overall grade for the course will be calculated and who it will be displayed to. Read-only.
        &quot;calculationType&quot;: &quot;A String&quot;, # Indicates how the overall grade is calculated.
        &quot;displaySetting&quot;: &quot;A String&quot;, # Indicates who can see the overall grade..
        &quot;gradeCategories&quot;: [ # Grade categories that are available for coursework in the course.
          { # Details for a grade category in a course. Coursework may have zero or one grade category, and the category may be used in computing the overall grade. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.
            &quot;defaultGradeDenominator&quot;: 42, # Default value of denominator. Only applicable when grade calculation type is TOTAL_POINTS.
            &quot;id&quot;: &quot;A String&quot;, # ID of the grade category.
            &quot;name&quot;: &quot;A String&quot;, # Name of the grade category.
            &quot;weight&quot;: 42, # The weight of the category average as part of overall average. A weight of 12.34% is represented as 123400 (100% is 1,000,000). The last two digits should always be zero since we use two decimal precision. Only applicable when grade calculation type is WEIGHTED_CATEGORIES.
          },
        ],
      },
      &quot;guardiansEnabled&quot;: True or False, # Whether or not guardian notifications are enabled for this course. Read-only.
      &quot;id&quot;: &quot;A String&quot;, # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error.
      &quot;name&quot;: &quot;A String&quot;, # Name of the course. For example, &quot;10th Grade Biology&quot;. The name is required. It must be between 1 and 750 characters and a valid UTF-8 string.
      &quot;ownerId&quot;: &quot;A String&quot;, # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `&quot;me&quot;`, indicating the requesting user This must be set in a create request. Admins can also specify this field in a patch course request to transfer ownership. In other contexts, it is read-only.
      &quot;room&quot;: &quot;A String&quot;, # Optional room location. For example, &quot;301&quot;. If set, this field must be a valid UTF-8 string and no longer than 650 characters.
      &quot;section&quot;: &quot;A String&quot;, # Section of the course. For example, &quot;Period 2&quot;. If set, this field must be a valid UTF-8 string and no longer than 2800 characters.
      &quot;teacherFolder&quot;: { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only.
        &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive folder. Read-only.
        &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
        &quot;title&quot;: &quot;A String&quot;, # Title of the Drive folder. Read-only.
      },
      &quot;teacherGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only.
      &quot;updateTime&quot;: &quot;A String&quot;, # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only.
    },
  ],
  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token identifying the next page of results to return. If empty, no further results are available.
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

<div class="method">
    <code class="details" id="patch">patch(id, body=None, updateMask=None, x__xgafv=None)</code>
  <pre>Updates one or more fields in a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID. * `INVALID_ARGUMENT` if invalid fields are specified in the update mask or if no update mask is supplied. * `FAILED_PRECONDITION` for the following request errors: * CourseNotModifiable * InactiveCourseOwner * IneligibleOwner * CourseTitleCannotContainUrl

Args:
  id: string, Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias. (required)
  body: object, The request body.
    The object takes the form of:

{ # A Course in Classroom.
  &quot;alternateLink&quot;: &quot;A String&quot;, # Absolute link to this course in the Classroom web UI. Read-only.
  &quot;calendarId&quot;: &quot;A String&quot;, # The Calendar ID for a calendar that all course members can see, to which Classroom adds events for course work and announcements in the course. The Calendar for a course is created asynchronously when the course is set to `CourseState.ACTIVE` for the first time (at creation time or when it is updated to `ACTIVE` through the UI or the API). The Calendar ID will not be populated until the creation process is completed. Read-only.
  &quot;courseGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;courseMaterialSets&quot;: [ # Sets of materials that appear on the &quot;about&quot; page of this course. Read-only.
    { # A set of materials that appears on the &quot;About&quot; page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole.
      &quot;materials&quot;: [ # Materials attached to this set.
        { # A material attached to a course as part of a material set.
          &quot;driveFile&quot;: { # Representation of a Google Drive file. # Google Drive file attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive item. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Drive item. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Drive item. Read-only.
          },
          &quot;form&quot;: { # Google Forms item. # Google Forms attachment.
            &quot;formUrl&quot;: &quot;A String&quot;, # URL of the form.
            &quot;responseUrl&quot;: &quot;A String&quot;, # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Form. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Form. Read-only.
          },
          &quot;link&quot;: { # URL item. # Link atatchment.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the target URL. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the target of the URL. Read-only.
            &quot;url&quot;: &quot;A String&quot;, # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
          },
          &quot;youTubeVideo&quot;: { # YouTube video item. # Youtube video attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to view the YouTube video. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # YouTube API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the YouTube video. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the YouTube video. Read-only.
          },
        },
      ],
      &quot;title&quot;: &quot;A String&quot;, # Title for this set.
    },
  ],
  &quot;courseState&quot;: &quot;A String&quot;, # State of the course. If unspecified, the default state is `PROVISIONED`.
  &quot;creationTime&quot;: &quot;A String&quot;, # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;description&quot;: &quot;A String&quot;, # Optional description. For example, &quot;We&#x27;ll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!&quot; If set, this field must be a valid UTF-8 string and no longer than 30,000 characters.
  &quot;descriptionHeading&quot;: &quot;A String&quot;, # Optional heading for the description. For example, &quot;Welcome to 10th Grade Biology.&quot; If set, this field must be a valid UTF-8 string and no longer than 3600 characters.
  &quot;enrollmentCode&quot;: &quot;A String&quot;, # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;gradebookSettings&quot;: { # The gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details. # The gradebook settings that specify how a student&#x27;s overall grade for the course will be calculated and who it will be displayed to. Read-only.
    &quot;calculationType&quot;: &quot;A String&quot;, # Indicates how the overall grade is calculated.
    &quot;displaySetting&quot;: &quot;A String&quot;, # Indicates who can see the overall grade..
    &quot;gradeCategories&quot;: [ # Grade categories that are available for coursework in the course.
      { # Details for a grade category in a course. Coursework may have zero or one grade category, and the category may be used in computing the overall grade. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.
        &quot;defaultGradeDenominator&quot;: 42, # Default value of denominator. Only applicable when grade calculation type is TOTAL_POINTS.
        &quot;id&quot;: &quot;A String&quot;, # ID of the grade category.
        &quot;name&quot;: &quot;A String&quot;, # Name of the grade category.
        &quot;weight&quot;: 42, # The weight of the category average as part of overall average. A weight of 12.34% is represented as 123400 (100% is 1,000,000). The last two digits should always be zero since we use two decimal precision. Only applicable when grade calculation type is WEIGHTED_CATEGORIES.
      },
    ],
  },
  &quot;guardiansEnabled&quot;: True or False, # Whether or not guardian notifications are enabled for this course. Read-only.
  &quot;id&quot;: &quot;A String&quot;, # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error.
  &quot;name&quot;: &quot;A String&quot;, # Name of the course. For example, &quot;10th Grade Biology&quot;. The name is required. It must be between 1 and 750 characters and a valid UTF-8 string.
  &quot;ownerId&quot;: &quot;A String&quot;, # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `&quot;me&quot;`, indicating the requesting user This must be set in a create request. Admins can also specify this field in a patch course request to transfer ownership. In other contexts, it is read-only.
  &quot;room&quot;: &quot;A String&quot;, # Optional room location. For example, &quot;301&quot;. If set, this field must be a valid UTF-8 string and no longer than 650 characters.
  &quot;section&quot;: &quot;A String&quot;, # Section of the course. For example, &quot;Period 2&quot;. If set, this field must be a valid UTF-8 string and no longer than 2800 characters.
  &quot;teacherFolder&quot;: { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only.
    &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive folder. Read-only.
    &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
    &quot;title&quot;: &quot;A String&quot;, # Title of the Drive folder. Read-only.
  },
  &quot;teacherGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;updateTime&quot;: &quot;A String&quot;, # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only.
}

  updateMask: string, Mask that identifies which fields on the course to update. This field is required to do an update. The update will fail if invalid fields are specified. The following fields are valid: * `name` * `section` * `descriptionHeading` * `description` * `room` * `courseState` * `ownerId` Note: patches to ownerId are treated as being effective immediately, but in practice it may take some time for the ownership transfer of all affected resources to complete. When set in a query parameter, this field should be specified as `updateMask=,,...`
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A Course in Classroom.
  &quot;alternateLink&quot;: &quot;A String&quot;, # Absolute link to this course in the Classroom web UI. Read-only.
  &quot;calendarId&quot;: &quot;A String&quot;, # The Calendar ID for a calendar that all course members can see, to which Classroom adds events for course work and announcements in the course. The Calendar for a course is created asynchronously when the course is set to `CourseState.ACTIVE` for the first time (at creation time or when it is updated to `ACTIVE` through the UI or the API). The Calendar ID will not be populated until the creation process is completed. Read-only.
  &quot;courseGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;courseMaterialSets&quot;: [ # Sets of materials that appear on the &quot;about&quot; page of this course. Read-only.
    { # A set of materials that appears on the &quot;About&quot; page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole.
      &quot;materials&quot;: [ # Materials attached to this set.
        { # A material attached to a course as part of a material set.
          &quot;driveFile&quot;: { # Representation of a Google Drive file. # Google Drive file attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive item. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Drive item. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Drive item. Read-only.
          },
          &quot;form&quot;: { # Google Forms item. # Google Forms attachment.
            &quot;formUrl&quot;: &quot;A String&quot;, # URL of the form.
            &quot;responseUrl&quot;: &quot;A String&quot;, # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Form. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Form. Read-only.
          },
          &quot;link&quot;: { # URL item. # Link atatchment.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the target URL. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the target of the URL. Read-only.
            &quot;url&quot;: &quot;A String&quot;, # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
          },
          &quot;youTubeVideo&quot;: { # YouTube video item. # Youtube video attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to view the YouTube video. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # YouTube API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the YouTube video. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the YouTube video. Read-only.
          },
        },
      ],
      &quot;title&quot;: &quot;A String&quot;, # Title for this set.
    },
  ],
  &quot;courseState&quot;: &quot;A String&quot;, # State of the course. If unspecified, the default state is `PROVISIONED`.
  &quot;creationTime&quot;: &quot;A String&quot;, # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;description&quot;: &quot;A String&quot;, # Optional description. For example, &quot;We&#x27;ll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!&quot; If set, this field must be a valid UTF-8 string and no longer than 30,000 characters.
  &quot;descriptionHeading&quot;: &quot;A String&quot;, # Optional heading for the description. For example, &quot;Welcome to 10th Grade Biology.&quot; If set, this field must be a valid UTF-8 string and no longer than 3600 characters.
  &quot;enrollmentCode&quot;: &quot;A String&quot;, # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;gradebookSettings&quot;: { # The gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details. # The gradebook settings that specify how a student&#x27;s overall grade for the course will be calculated and who it will be displayed to. Read-only.
    &quot;calculationType&quot;: &quot;A String&quot;, # Indicates how the overall grade is calculated.
    &quot;displaySetting&quot;: &quot;A String&quot;, # Indicates who can see the overall grade..
    &quot;gradeCategories&quot;: [ # Grade categories that are available for coursework in the course.
      { # Details for a grade category in a course. Coursework may have zero or one grade category, and the category may be used in computing the overall grade. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.
        &quot;defaultGradeDenominator&quot;: 42, # Default value of denominator. Only applicable when grade calculation type is TOTAL_POINTS.
        &quot;id&quot;: &quot;A String&quot;, # ID of the grade category.
        &quot;name&quot;: &quot;A String&quot;, # Name of the grade category.
        &quot;weight&quot;: 42, # The weight of the category average as part of overall average. A weight of 12.34% is represented as 123400 (100% is 1,000,000). The last two digits should always be zero since we use two decimal precision. Only applicable when grade calculation type is WEIGHTED_CATEGORIES.
      },
    ],
  },
  &quot;guardiansEnabled&quot;: True or False, # Whether or not guardian notifications are enabled for this course. Read-only.
  &quot;id&quot;: &quot;A String&quot;, # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error.
  &quot;name&quot;: &quot;A String&quot;, # Name of the course. For example, &quot;10th Grade Biology&quot;. The name is required. It must be between 1 and 750 characters and a valid UTF-8 string.
  &quot;ownerId&quot;: &quot;A String&quot;, # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `&quot;me&quot;`, indicating the requesting user This must be set in a create request. Admins can also specify this field in a patch course request to transfer ownership. In other contexts, it is read-only.
  &quot;room&quot;: &quot;A String&quot;, # Optional room location. For example, &quot;301&quot;. If set, this field must be a valid UTF-8 string and no longer than 650 characters.
  &quot;section&quot;: &quot;A String&quot;, # Section of the course. For example, &quot;Period 2&quot;. If set, this field must be a valid UTF-8 string and no longer than 2800 characters.
  &quot;teacherFolder&quot;: { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only.
    &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive folder. Read-only.
    &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
    &quot;title&quot;: &quot;A String&quot;, # Title of the Drive folder. Read-only.
  },
  &quot;teacherGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;updateTime&quot;: &quot;A String&quot;, # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only.
}</pre>
</div>

<div class="method">
    <code class="details" id="update">update(id, body=None, x__xgafv=None)</code>
  <pre>Updates a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID. * `FAILED_PRECONDITION` for the following request errors: * CourseNotModifiable * CourseTitleCannotContainUrl

Args:
  id: string, Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias. (required)
  body: object, The request body.
    The object takes the form of:

{ # A Course in Classroom.
  &quot;alternateLink&quot;: &quot;A String&quot;, # Absolute link to this course in the Classroom web UI. Read-only.
  &quot;calendarId&quot;: &quot;A String&quot;, # The Calendar ID for a calendar that all course members can see, to which Classroom adds events for course work and announcements in the course. The Calendar for a course is created asynchronously when the course is set to `CourseState.ACTIVE` for the first time (at creation time or when it is updated to `ACTIVE` through the UI or the API). The Calendar ID will not be populated until the creation process is completed. Read-only.
  &quot;courseGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;courseMaterialSets&quot;: [ # Sets of materials that appear on the &quot;about&quot; page of this course. Read-only.
    { # A set of materials that appears on the &quot;About&quot; page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole.
      &quot;materials&quot;: [ # Materials attached to this set.
        { # A material attached to a course as part of a material set.
          &quot;driveFile&quot;: { # Representation of a Google Drive file. # Google Drive file attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive item. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Drive item. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Drive item. Read-only.
          },
          &quot;form&quot;: { # Google Forms item. # Google Forms attachment.
            &quot;formUrl&quot;: &quot;A String&quot;, # URL of the form.
            &quot;responseUrl&quot;: &quot;A String&quot;, # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Form. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Form. Read-only.
          },
          &quot;link&quot;: { # URL item. # Link atatchment.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the target URL. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the target of the URL. Read-only.
            &quot;url&quot;: &quot;A String&quot;, # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
          },
          &quot;youTubeVideo&quot;: { # YouTube video item. # Youtube video attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to view the YouTube video. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # YouTube API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the YouTube video. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the YouTube video. Read-only.
          },
        },
      ],
      &quot;title&quot;: &quot;A String&quot;, # Title for this set.
    },
  ],
  &quot;courseState&quot;: &quot;A String&quot;, # State of the course. If unspecified, the default state is `PROVISIONED`.
  &quot;creationTime&quot;: &quot;A String&quot;, # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;description&quot;: &quot;A String&quot;, # Optional description. For example, &quot;We&#x27;ll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!&quot; If set, this field must be a valid UTF-8 string and no longer than 30,000 characters.
  &quot;descriptionHeading&quot;: &quot;A String&quot;, # Optional heading for the description. For example, &quot;Welcome to 10th Grade Biology.&quot; If set, this field must be a valid UTF-8 string and no longer than 3600 characters.
  &quot;enrollmentCode&quot;: &quot;A String&quot;, # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;gradebookSettings&quot;: { # The gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details. # The gradebook settings that specify how a student&#x27;s overall grade for the course will be calculated and who it will be displayed to. Read-only.
    &quot;calculationType&quot;: &quot;A String&quot;, # Indicates how the overall grade is calculated.
    &quot;displaySetting&quot;: &quot;A String&quot;, # Indicates who can see the overall grade..
    &quot;gradeCategories&quot;: [ # Grade categories that are available for coursework in the course.
      { # Details for a grade category in a course. Coursework may have zero or one grade category, and the category may be used in computing the overall grade. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.
        &quot;defaultGradeDenominator&quot;: 42, # Default value of denominator. Only applicable when grade calculation type is TOTAL_POINTS.
        &quot;id&quot;: &quot;A String&quot;, # ID of the grade category.
        &quot;name&quot;: &quot;A String&quot;, # Name of the grade category.
        &quot;weight&quot;: 42, # The weight of the category average as part of overall average. A weight of 12.34% is represented as 123400 (100% is 1,000,000). The last two digits should always be zero since we use two decimal precision. Only applicable when grade calculation type is WEIGHTED_CATEGORIES.
      },
    ],
  },
  &quot;guardiansEnabled&quot;: True or False, # Whether or not guardian notifications are enabled for this course. Read-only.
  &quot;id&quot;: &quot;A String&quot;, # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error.
  &quot;name&quot;: &quot;A String&quot;, # Name of the course. For example, &quot;10th Grade Biology&quot;. The name is required. It must be between 1 and 750 characters and a valid UTF-8 string.
  &quot;ownerId&quot;: &quot;A String&quot;, # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `&quot;me&quot;`, indicating the requesting user This must be set in a create request. Admins can also specify this field in a patch course request to transfer ownership. In other contexts, it is read-only.
  &quot;room&quot;: &quot;A String&quot;, # Optional room location. For example, &quot;301&quot;. If set, this field must be a valid UTF-8 string and no longer than 650 characters.
  &quot;section&quot;: &quot;A String&quot;, # Section of the course. For example, &quot;Period 2&quot;. If set, this field must be a valid UTF-8 string and no longer than 2800 characters.
  &quot;teacherFolder&quot;: { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only.
    &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive folder. Read-only.
    &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
    &quot;title&quot;: &quot;A String&quot;, # Title of the Drive folder. Read-only.
  },
  &quot;teacherGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;updateTime&quot;: &quot;A String&quot;, # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A Course in Classroom.
  &quot;alternateLink&quot;: &quot;A String&quot;, # Absolute link to this course in the Classroom web UI. Read-only.
  &quot;calendarId&quot;: &quot;A String&quot;, # The Calendar ID for a calendar that all course members can see, to which Classroom adds events for course work and announcements in the course. The Calendar for a course is created asynchronously when the course is set to `CourseState.ACTIVE` for the first time (at creation time or when it is updated to `ACTIVE` through the UI or the API). The Calendar ID will not be populated until the creation process is completed. Read-only.
  &quot;courseGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;courseMaterialSets&quot;: [ # Sets of materials that appear on the &quot;about&quot; page of this course. Read-only.
    { # A set of materials that appears on the &quot;About&quot; page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole.
      &quot;materials&quot;: [ # Materials attached to this set.
        { # A material attached to a course as part of a material set.
          &quot;driveFile&quot;: { # Representation of a Google Drive file. # Google Drive file attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive item. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Drive item. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Drive item. Read-only.
          },
          &quot;form&quot;: { # Google Forms item. # Google Forms attachment.
            &quot;formUrl&quot;: &quot;A String&quot;, # URL of the form.
            &quot;responseUrl&quot;: &quot;A String&quot;, # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the Form. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the Form. Read-only.
          },
          &quot;link&quot;: { # URL item. # Link atatchment.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the target URL. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the target of the URL. Read-only.
            &quot;url&quot;: &quot;A String&quot;, # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
          },
          &quot;youTubeVideo&quot;: { # YouTube video item. # Youtube video attachment.
            &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to view the YouTube video. Read-only.
            &quot;id&quot;: &quot;A String&quot;, # YouTube API resource ID.
            &quot;thumbnailUrl&quot;: &quot;A String&quot;, # URL of a thumbnail image of the YouTube video. Read-only.
            &quot;title&quot;: &quot;A String&quot;, # Title of the YouTube video. Read-only.
          },
        },
      ],
      &quot;title&quot;: &quot;A String&quot;, # Title for this set.
    },
  ],
  &quot;courseState&quot;: &quot;A String&quot;, # State of the course. If unspecified, the default state is `PROVISIONED`.
  &quot;creationTime&quot;: &quot;A String&quot;, # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;description&quot;: &quot;A String&quot;, # Optional description. For example, &quot;We&#x27;ll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!&quot; If set, this field must be a valid UTF-8 string and no longer than 30,000 characters.
  &quot;descriptionHeading&quot;: &quot;A String&quot;, # Optional heading for the description. For example, &quot;Welcome to 10th Grade Biology.&quot; If set, this field must be a valid UTF-8 string and no longer than 3600 characters.
  &quot;enrollmentCode&quot;: &quot;A String&quot;, # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only.
  &quot;gradebookSettings&quot;: { # The gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details. # The gradebook settings that specify how a student&#x27;s overall grade for the course will be calculated and who it will be displayed to. Read-only.
    &quot;calculationType&quot;: &quot;A String&quot;, # Indicates how the overall grade is calculated.
    &quot;displaySetting&quot;: &quot;A String&quot;, # Indicates who can see the overall grade..
    &quot;gradeCategories&quot;: [ # Grade categories that are available for coursework in the course.
      { # Details for a grade category in a course. Coursework may have zero or one grade category, and the category may be used in computing the overall grade. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.
        &quot;defaultGradeDenominator&quot;: 42, # Default value of denominator. Only applicable when grade calculation type is TOTAL_POINTS.
        &quot;id&quot;: &quot;A String&quot;, # ID of the grade category.
        &quot;name&quot;: &quot;A String&quot;, # Name of the grade category.
        &quot;weight&quot;: 42, # The weight of the category average as part of overall average. A weight of 12.34% is represented as 123400 (100% is 1,000,000). The last two digits should always be zero since we use two decimal precision. Only applicable when grade calculation type is WEIGHTED_CATEGORIES.
      },
    ],
  },
  &quot;guardiansEnabled&quot;: True or False, # Whether or not guardian notifications are enabled for this course. Read-only.
  &quot;id&quot;: &quot;A String&quot;, # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error.
  &quot;name&quot;: &quot;A String&quot;, # Name of the course. For example, &quot;10th Grade Biology&quot;. The name is required. It must be between 1 and 750 characters and a valid UTF-8 string.
  &quot;ownerId&quot;: &quot;A String&quot;, # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `&quot;me&quot;`, indicating the requesting user This must be set in a create request. Admins can also specify this field in a patch course request to transfer ownership. In other contexts, it is read-only.
  &quot;room&quot;: &quot;A String&quot;, # Optional room location. For example, &quot;301&quot;. If set, this field must be a valid UTF-8 string and no longer than 650 characters.
  &quot;section&quot;: &quot;A String&quot;, # Section of the course. For example, &quot;Period 2&quot;. If set, this field must be a valid UTF-8 string and no longer than 2800 characters.
  &quot;teacherFolder&quot;: { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only.
    &quot;alternateLink&quot;: &quot;A String&quot;, # URL that can be used to access the Drive folder. Read-only.
    &quot;id&quot;: &quot;A String&quot;, # Drive API resource ID.
    &quot;title&quot;: &quot;A String&quot;, # Title of the Drive folder. Read-only.
  },
  &quot;teacherGroupEmail&quot;: &quot;A String&quot;, # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only.
  &quot;updateTime&quot;: &quot;A String&quot;, # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only.
}</pre>
</div>

<div class="method">
    <code class="details" id="updateGradingPeriodSettings">updateGradingPeriodSettings(courseId, body=None, updateMask=None, x__xgafv=None)</code>
  <pre>Updates grading period settings of a course. Individual grading periods can be added, removed, or modified using this method. The requesting user and course owner must be eligible to modify Grading Periods. For details, see [licensing requirements](https://developers.google.com/workspace/classroom/grading-periods/manage-grading-periods#licensing_requirements). This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify the grading period settings in a course or for access errors: * UserIneligibleToUpdateGradingPeriodSettings * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.

Args:
  courseId: string, Required. The identifier of the course. (required)
  body: object, The request body.
    The object takes the form of:

{ # Grading period settings that include all the individual grading periods in a course.
  &quot;applyToExistingCoursework&quot;: True or False, # Supports toggling the application of grading periods on existing stream items. Once set, this value is persisted meaning that it does not need to be set in every request to update `GradingPeriodSettings`. If not previously set, the default is False.
  &quot;gradingPeriods&quot;: [ # The list of grading periods in a specific course. Grading periods must not have overlapping date ranges and must be listed in chronological order. Each grading period must have a unique title within a course.
    { # An individual grading period. Grading periods must not have overlapping date ranges and must be listed in chronological order. For example, if the end_date of a grading period is 2024-01-25, then the start_date of the next grading period must be 2024-01-26 or later. Each grading period must have a unique title within a course.
      &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. End date, in UTC, of the grading period. Inclusive.
        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      },
      &quot;id&quot;: &quot;A String&quot;, # Output only. System generated grading period ID. Read-only.
      &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Start date, in UTC, of the grading period. Inclusive.
        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      },
      &quot;title&quot;: &quot;A String&quot;, # Required. Title of the grading period. For example, “Semester 1”.
    },
  ],
}

  updateMask: string, Mask that identifies which fields in the GradingPeriodSettings to update. The GradingPeriodSettings `grading_periods` list will be fully replaced by the grading periods specified in the update request. For example: * Grading periods included in the list without an ID are considered additions, and a new ID will be assigned when the request is made. * Grading periods that currently exist, but are missing from the request will be considered deletions. * Grading periods with an existing ID and modified data are considered edits. Unmodified data will be left as is. * Grading periods included with an unknown ID will result in an error. The following fields may be specified: * `grading_periods` * `apply_to_existing_coursework`
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Grading period settings that include all the individual grading periods in a course.
  &quot;applyToExistingCoursework&quot;: True or False, # Supports toggling the application of grading periods on existing stream items. Once set, this value is persisted meaning that it does not need to be set in every request to update `GradingPeriodSettings`. If not previously set, the default is False.
  &quot;gradingPeriods&quot;: [ # The list of grading periods in a specific course. Grading periods must not have overlapping date ranges and must be listed in chronological order. Each grading period must have a unique title within a course.
    { # An individual grading period. Grading periods must not have overlapping date ranges and must be listed in chronological order. For example, if the end_date of a grading period is 2024-01-25, then the start_date of the next grading period must be 2024-01-26 or later. Each grading period must have a unique title within a course.
      &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. End date, in UTC, of the grading period. Inclusive.
        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      },
      &quot;id&quot;: &quot;A String&quot;, # Output only. System generated grading period ID. Read-only.
      &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Start date, in UTC, of the grading period. Inclusive.
        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      },
      &quot;title&quot;: &quot;A String&quot;, # Required. Title of the grading period. For example, “Semester 1”.
    },
  ],
}</pre>
</div>

</body></html>